﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Security.Cryptography;
using EventSym;
using UIFrameWork;
using UnityEngine;

public class EventDispatcher
{
	private static EventController _eventController = new EventController();
	public static  void AddEventListener(string eventname,Action del)
	{
		_eventController.AddEventListener(eventname,del);
	}
	public static void AddEventListener<T>(string eventname,Action<T> del)
	{
		_eventController.AddEventListener(eventname,del);
	}
	public static void AddEventListener<T,U>(string eventname,Action<T,U> del)
	{
		_eventController.AddEventListener(eventname,del);
	}
	public static void AddEventListener<T,U,S>(string eventname,Action<T,U,S> del)
	{
		_eventController.AddEventListener(eventname,del);
	}
	public static void AddEventListener<T,U,S,K>(string eventname,Action<T,U,S,K> del)
	{
		_eventController.AddEventListener(eventname,del);
	}

	public static void ClearUp()
	{
		_eventController.ClearEventListener();
	}
	public static void RemEventListener(string eventname, Action del)
	{
		_eventController.RemEventListener(eventname,del);
	}
	public static void RemEventListener<T>(string eventname, Action<T> del)
	{
		_eventController.RemEventListener(eventname,del);
	}
	public static  void RemEventListener<T,U>(string eventname, Action<T,U> del)
	{
		_eventController.RemEventListener(eventname,del);
	}
	public static  void RemEventListener<T,U,S>(string eventname, Action<T,U,S> del)
	{
		_eventController.RemEventListener(eventname,del);
	}
	public static  void RemEventListener<T,U,S,K>(string eventname, Action<T,U,S,K> del)
	{
		_eventController.RemEventListener(eventname,del);
	}
	public static  void BroadCastEvent(string eventname)
	{
		_eventController.BroadCastEvent(eventname);
	}
	public static  void BroadCastEvent<T>(string eventname,T t)
	{
		_eventController.BroadCastEvent(eventname);
	}
	public static  void BroadCastEvent<T,U>(string eventname,T t,U u)
	{
		_eventController.BroadCastEvent(eventname);
	}
	public static  void BroadCastEvent<T,U,S>(string eventname,T t,U u,S s)
	{
		_eventController.BroadCastEvent(eventname);
	}
	public static  void BroadCastEvent<T,U,S,K>(string eventname,T t,U u,S s,K k)
	{
		_eventController.BroadCastEvent(eventname);
	}
}
